package myJs.myPkg

import scala.scalajs.js
import scala.language.implicitConversions
import scala.scalajs.js.JSConverters._
import jquery.JQuery
import slinky.readwrite.ObjectOrWritten

/** Created by yz on 2019/3/14
 */
@js.native
trait MiniColorsJQuery extends js.Object {

  def minicolors(options: ObjectOrWritten[MiniColorsOptions]): JQuery = scalajs.js.native

  def minicolors(method: String, data: js.Dictionary[String]): JQuery = scalajs.js.native

}

case class MiniColorsOptions(
  control: js.UndefOr[String] = js.undefined,
  defaultValue: js.UndefOr[String] = js.undefined,
  format: js.UndefOr[String] = js.undefined,
  keywords: js.UndefOr[String] = js.undefined,
  inline: js.UndefOr[Boolean] = js.undefined,
  letterCase: js.UndefOr[String] = js.undefined,
  opacity: js.UndefOr[Boolean] = js.undefined,
  position: js.UndefOr[String] = js.undefined,
  swatches: js.UndefOr[List[String]] = js.undefined,
  theme: js.UndefOr[String] = js.undefined,
  change: js.UndefOr[(js.UndefOr[String], js.UndefOr[js.Any]) => String] = js.undefined
)

trait MiniColorsJQueryImplicits {
  implicit def implicitMiniColorsJQuery(jq: JQuery): MiniColorsJQuery = {
    jq.asInstanceOf[MiniColorsJQuery]
  }
}
